package br.uefs.cedoc.db;


import java.sql.*;

public class DBManager
{
	private ResultSetMetaData metadata;
	private Connection       db;        // Conexao ao banco de dados
	private Statement        sql;       // Statment para as queries
	private DatabaseMetaData dbmd;      // Informao basica que o driver entrega
	
	private static final String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
	private static final String user= "sa";
	private static final String pass = "123456";
	private static final String dbURL ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=cedoc";
	// sobre o BD conectado. Eu uso para confimar
	//  a conexao.
	public DBManager() throws ClassNotFoundException, SQLException
	{
		connect();    	
	}
	
	public void connect() throws ClassNotFoundException, SQLException
	{
		Class.forName(driver); //carrega o driver para PG
		
		db = DriverManager.getConnection(dbURL, user, pass); //conecta-se ao BD.
		dbmd = db.getMetaData(); //pega MetaData para confiamr conexao
		System.out.println("Conexao o "+dbmd.getDatabaseProductName()+" "+
				dbmd.getDatabaseProductVersion()+" bem sucedida.\n");
		
		sql = db.createStatement(); //cria um statement pra ser usado posterriormente
	}
	
	public void executeUpdate(String sqlText) throws SQLException
	{
		sql.executeUpdate(sqlText);
	}
	
	public void closeConnection() throws SQLException
	{
		db.close();
	}
	
	public PreparedStatement prepareStatement(String sqlText) throws SQLException
	{
		return db.prepareStatement(sqlText);
	}    
	
	public void cadastro (String usuario, String nome, String cpf, String tel, 
			String cel, String end, String setor, String email, String pin) throws SQLException
	{
		String comando = "INSERT INTO usuario VALUES ('"+usuario+"','"+nome+"'," +
		"'"+cpf+"', '"+end+"', '"+tel+"','"+cel+"', '"+setor+"', '"+email+"')";
		executeUpdate(comando);
	}

	public void excluir(String tabela, String campo, Object valor) throws SQLException
	{
		String comando = "delete from "+tabela+" where "+campo+"='"+valor+"'";
		executeUpdate(comando);
	}
	
	public void atualizar(String usuarioId, String campo, String valor, String novoValor) throws SQLException
	{
		String comando = "update usuario set "+campo+" ='"+novoValor+"' where "+campo+" = '"+valor+"' AND usuarioId = '"+usuarioId+"'";
		executeUpdate(comando);
	}
	public static void main(String[] args) throws ClassNotFoundException, SQLException{
		DBManager dbm = new DBManager();
		dbm.connect();
	}
}


